3
תגובות
בדקתי קצת בקשר לזה וראיתי שזה בעזרת fwrite אבל לא מצאתי מקום שמסביר על זה מספיק, הצלחתי לכתוב קובץ מחדש אבל איך אני יכול לערוך רק חלק מסויים? יש מדריך מקיף שיוכל לעזור לי?
3 תשובות
הי יותם,
הדרך הכי קלה היא לא לבצע עריכה באמצעות פונקציות לעבודה עם קבצים, אלא באמצעות פונצקיות לעבודה עם מחרוזות.
אתה יכול לקרוא את כל התוכן של קובץ, לעשות עליו מה שתרצה עם פונקציות לעבודה עם מחרוזות, למשל mb_str_replace, ואת התוצאה לרשום בחזרה לתוך הקובץ:
$content = file_get_contents('file.txt');
$newContent = mb_str_replace('John', 'Jack', $content);
file_put_contents('file.txt', $newContent);
$newContent = mb_str_replace('John', 'Jack', $content);
file_put_contents('file.txt', $newContent);
הבנתי, אבל נגיד ואני רוצה לערוך משתנה מסויים, יש לי את הקובץ הזה:
$duser = 'mayaoffi_blog';
$dpass = '464546';
$dserver = 'localhost';
$dname = 'mayaoffi_blog';
$date = date("j.n.y");
session_start();
$con = mysql_connect("$dserver","$duser","$dpass");
mysql_select_db("$dname", $con);
$dpass = '464546';
$dserver = 'localhost';
$dname = 'mayaoffi_blog';
$date = date("j.n.y");
session_start();
$con = mysql_connect("$dserver","$duser","$dpass");
mysql_select_db("$dname", $con);
אני רוצה שהם יוכלו לערוך את המשתנים של פרטי המוסד נתונים, אתה נתת לי משהו שאני מחפש מילה ומחליף אותה, אבל אני לא יודע מה המילה הקודמת שהיית שמה, אז האפשרות היחידה היא לרשום מחדש?
א. לדעתי אתה עושה משהו שאתה לא אמור לעשות. הבן אדם שהוריד את הקוד שלך מסוגל לפתוח לבד את הקובץ בעורך קוד ולשנות את נתוני ההתחברות.
ב. באופן כללי, אם אתה לא יודע במדויק מחרוזת מסוימת אבל אתה יודע איך היא נראית ומה המבנה שלה - אתה יכול להשתמש בביטויים רגולריים. אבל במקרה הזה זה לא הפתרון המתאים.
ג. במקרה שלך, אתה יכול להוציא את הערכים לקובץ אחר עם פורמט (מבנה) פשוט יותר, למשל
data.txt
localhost
mayaoffi_blog
464546
mayaoffi_blog
mayaoffi_blog
464546
mayaoffi_blog
בסקריפט העריכה שלך אתה תמיד יודע שהשורה הראשנה זה השרת, השורה השניה זה המשתמש, השורה השלישית זה סיסמה וכו'. באמצעות הפונקציה file תוכל לקרוא את הקובץ ולקבל ממנו מערך. מה שישאר לך זה לשנות את הערכים במערך ולרשום אותם בחזרה לקובץ שורה אחרי שורה.
בסקריפט שצריך להשתמש בנתוני ההתחברות - אותו דבר, אתה קורא את תוכן הקובץ עם הסיסמאות שורה אחר שורה ומתחבר עם הערכים בהתאם.
אמנם אני אחזור על זה שוב - לדעתי אתה עושה משהו מיותר לחלוטין. מי שהסתדר עם ליצור מסד נתונים ומשתמש בשבילו יסתדר גם עם לערוך קובץ בעצמו.